1. Field of the Invention
The present invention relates to computer software for creating, modifying, and manipulating charts and diagrams in order to display software programs in the form of flowchart images (i.e., diagrams containing a plurality of boxes, and connecting lines).
2. Description of the Related Art
The use of personal computers has become widespread for a variety of functions and applications in business and education. One such application of computers is their use for producing, printing and displaying graphical images. Still more particularly, a variety of application programs have been developed for creating flowcharts, organizational charts, and various other diagrams. Such existing systems provide for the creation of various drawing elements and their interconnection. For example, there are a variety of complex computer aided design or drafting programs for creating any type of mechanical, electrical and architectural drawings. There are also more simplistic drawing programs for creating only flowcharts or organizational charts.
One major problem with the existing flowcharting and drawing programs is that they are very difficult to use. The complex computer aided design programs usually require a significant amount of training to be used and are typically only used by skilled draftspersons. Even the more simplistic drawing programs with reduced functionality are cumbersome and difficult to use. For example, existing systems require a number of key strokes or inputs from a mouse type controller to create a simple shape or symbol in a chart, such as a rectangular box. To create a flowchart symbol, a symbol is first chosen from the symbol palette or menu displayed on a monitor. The symbol is then dragged and dropped using a mouse type controller into a desired position in the drawing. Alternatively, the symbol could be created and positioned using various other keystrokes or combinations of keystrokes and mouse inputs. Once the symbol has been added, it typically must be connected with other elements in the drawing. This requires similar manipulations of the input device to add a simple connecting line. Having to repeatedly reposition the cursor from one area of the drawing to a palette or menu for adding each element or changing the functionality provided by manipulation of the cursor is highly inefficient. Creating and drawing such drawings is therefore very labor intensive and time consuming. Thus, there is a need for a system that makes drawing elements easier to create.
The related art is represented by the following patents of interest.
U.S. Pat. No. 5,386,508, issued on Jan. 31, 1995 to Katsuhiko Itonori et al., describes a program generator for generating a coded computer program from program representations that are easy to understand for humans as exemplified by flowcharts which are composed of the combination of line graphics and characters. Itonori et al. do not suggest computer software for generating flowchart images of a source program according to the claimed invention.
U.S. Pat. No. 5,414,847, issued on May 9, 1995 to Toshiharu Tsukakoshi, describes a program design method and apparatus capable of successively handling over definition information between processes, from a preceding process to its succeeding process and consistently conducting development of a program using a distributed computer independent of a host computer. Tsukakoshi 847 does not suggest computer software for generating flowchart images of a source program according to the claimed invention.
U.S. Pat. No. 5,414,853, issued on May 9, 1995 to Paul Fertig et al., describes a restriction checker generator for generating a restriction checker for checking horizontal microcode against restrictions which the microcode instructions must satisfy in order to be valid. Fertig et al. do not suggest computer software for generating flowchart images of a source program according to the claimed invention.
U.S. Pat. No. 5,522,078, issued on May 28, 1996 to Tadeo Matsuzuki, describes an automatic program generating apparatus capable of uniformly generating an accurate, error-free program in accordance with an industrial technique, and allowing simple operations in the design process to shorten the program generating time. Matsuzuki does not suggest computer software for generating flowchart images of a source program according to the claimed invention.
U.S. Pat. No. 5,539,869, issued on Jul. 23, 1996 to Thomas A. Spoto et al., describes a method and system for processing and presenting on-line, multimedia information in a tree structure. Spoto et al. do not suggest computer software for generating flowchart images of a source program according to the claimed invention.
U.S. Pat. No. 5,617,578, issued on Apr. 1, 1997 to Yury Kroll et al., describes a computer-based workstation which extracts the logical structures from a source text, and presents them in the form of a logic diagram. Kroll et al. do not suggest computer software for generating flowchart images of a source program according to the claimed invention.
U.S. Pat. No. 5,729,747, issued on Mar. 17, 1998 to Toshiharu Tsukakoshi, describes a program design method and apparatus capable of successively handling over definition information between processes, from a preceding process to its succeeding process and consistently conducting development of a program using a distributed computer independent of a host computer. Tsukakoshi ""747 does not suggest computer software for generating flowchart images of a source program according to the claimed invention.
U.S. Pat. No. 5,784,286, issued on Jul. 21, 1998 to Atsushi Hirose et al., describes a design process recording method and a design process recorder which implements the design process recording method. Hirose et al. do not suggest computer software for generating flowchart images of a source program according to the claimed invention.
U.S. Pat. No. 5,784,621, issued on Jul. 21, 1998 to Yasushi Onishi et al., describes a sequence program display apparatus for displaying a sequence program to be executed by a programmable controller on a screen. Onishi et al. do not suggest computer software for generating flowchart images of a source program according to the claimed invention.
U.S. Pat. No. 5,790,863, issued on Aug. 4, 1998 to Charles Simonyi, describes a method and system for generating a computer program. Simonyi does not suggest computer software for generating flowchart images of a source program according to the claimed invention.
U.S. Pat. No. 5,815,653, issued on Sep. 29, 1998 to Lawrence L. You et al., describes a system for debugging software using a portable debug environment-independent client debugger object and at least one non-portable server debugger object with platform specific debugging logic. You et al. do not suggest computer software for generating flowchart images of a source program according to the claimed invention.
U.S. Pat. No. 5,835,771, issued on Nov. 10, 1998 to Todd Veldhuizen, describes the capability to generate customized, inclined code using template metaprograms. Veldhuizen does not suggest computer software for generating flowchart images of a source program according to the claimed invention.
U.S. Pat. No. 5,850,548, issued on Dec. 15, 1998 to David M. Williams, describes a development system comprising a visual programming environment based on a high level hierarchial data flow model. Williams does not suggest computer software for generating flowchart images of a source program according to the claimed invention.
European Patent document 0 211 151 B1, published on Sep. 9, 1992, describes a technique for programming the order of cells for an operator to enter data in a spreadsheet. European ""151 does not suggest computer software for generating flowchart images of a source program according to the claimed invention.
European Patent document 0 546 794 A2, published on Jun. 16, 1993, describes a method, system, and program for isolating the executable binary form of computer applications that use object definition libraries from changes in the implementation or specification of object definitions in the library. European ""794 does not suggest computer software for generating flowchart images of a source program according to the claimed invention.
None of the above inventions and patents, taken either singularly or in combination, is seen to describe the instant invention as claimed.
The present invention is computer software for generating flowchart images of a source program. The hardware for implementing the above is not particularly limitative, and the preferred embodiment has been designed for computer systems which normally include a keyboard and/or transducer (mouse) input devices, a resolution monitor, a printer system, a microprocessor based central processing unit (CPU), and a memory capability, such as a hard disk drive. Normally, the memory will store the computer software according to the invention which includes program instructions defining the inventive controlling logic. The CPU implements the programmed control instructions. The inventive controlling logic instructions may be coded in a variety of programming languages consistent and compatible with the associated hardware.
A logic flow chart depicting the overall logic structure a associated with a first program of the inventive computer software conceptually starts wherein a user inputs an input program source code. The first program reads the input program source code as an input and a coded output file is written containing codes that a second program uses to create the shapes of the flowchart or first the copybooks and called programs used in the input program source code being flowcharted. Each line of the source program input: is checked character for character for xe2x80x98reserved wordsxe2x80x99 of the source program language. When a xe2x80x98reserved wordxe2x80x99 is found then a shape code is created. The source program input should be compiled and be error free for best results, because if the source code does not pass the compiler restrictions, then the source seen on the screen might not have much meaning. A single program flowchart can be created or by selecting a key word xe2x80x9cAUTOxe2x80x9d, multiple program flowcharts can be created.
The coded output file contains first, second, and third fields. The first field contains a three character shape identifier (the computer software includes 25 predefined shape identifiers). The second field contains a view number and a shape position. The view number indicates a particular flowchart screen for the program flowchart. The shape position indicates a particular position of a flowchart screen. Each flowchart screen can show up to nine shape positions. For example, 1.1 would indicate View 1 Shape Position 1, 1.2 would indicate View 1 Shape Position 2, and 235.3 would indicate View 235 Shape position 3. Field 3 is used for information. This information can relate to the current line or a pointer to the next shape.
The second program of the inventive software reads the coded output file of the first program and displays the program flowchart images screen by screen. The user may sequence through each subsequent flowchart screen by depressing the ENTER key after viewing a particular flowchart screen. The user may also select a particular flowchart screen to view by selecting the command S displayed at the bottom of each screen. The user may also quit the current program by selecting the command Q displayed at the bottom of each screen. At the end of the file, the flowchart can be redisplayed from the beginning by depressing the ENTER key. The user may also generate a hard copy output from an output device.
Accordingly, it is a principal object of the invention to provide computer software for generating flowchart images of a source program.
It is an object of the invention to provide improved elements and arrangements thereof in computer software for generating flowchart images of a source program for the purposes described which is inexpensive, dependable and fully effective in accomplishing its intended purposes.
These and other objects of the present invention will become readily apparent upon further review of the following specification and drawings.